<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // Promise好处：避免多层异步调用嵌套问题（回调地狱）; 
        console.log(typeof Promise);
        //console.dir()可以显示一个对象的所有属性和方法
        console.dir(Promise);

        //Promise的使用:  构造函数中传入两个函数参数resolve和reject，用于处理异步任务。再通过then获取处理结果
        var flag = false;
        // var p = new Promise(function (resolve, reject) {
        //     if (flag) { // 正常
        //         resolve("success")
        //     } else { // 异常
        //         reject("fail")
        //     }
        // });
        var p = new Promise((resolve, reject) => {
            if (flag) { // 正常
                resolve("success")
            } else { // 异常
                reject("fail")
            }
        });
        p.then((res) => {
            console.log(res);
        }, (error) => {
            console.log(error);
        });
    </script>
</body>

</html>